Hierarchical navigation trees are common design elements in graphical user interfaces (GUIs). A hierarchical navigation tree includes a set of hierarchically arranged nodes. For instance, a root node of a hierarchical navigation tree may have one or more child nodes, one or more of the child nodes may have one or more child nodes of their own, and so on. Each node may have a corresponding label that is displayed in a GUI. For instance, the root node may be labeled “Devices,” child nodes of the root node may be labeled “Device type A,” “Device type B,” and “Device type C.” In some examples, portions of a hierarchical navigation tree are collapsible such that all descendant nodes of a particular node of the hierarchical navigation tree are hidden in the GUI.
Receiving input from a user selecting a node of a hierarchical navigation tree may cause a computing device to output a specific UI associated with the node. For instance, in the example above, receiving a user input selecting the node labeled “Device type A” may cause the computing device to output a list of all devices of type A.
The structures of hierarchical navigation trees may be hardcoded in a fixed manner in the programming of applications presenting the hierarchical navigation trees. Moreover, the functionality of each node of a hierarchical navigation tree may be hardcoded in an application presenting the hierarchical navigation tree.